package com.spring.demo4.eg6.factory;

import org.springframework.beans.BeansException;
import org.springframework.lang.Nullable;

/**
 * bean处理器，内部有2个方法，分别在bean初始化前后会进行调用
 *
 * @author vhans
 */
public interface MyBeanPostProcessor {

    /**
     * bean初始化之前会调用的方法
     */
    @Nullable
    default Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
        return bean;
    }

    /**
     * bean初始化之后会调用的方法
     */
    @Nullable
    default Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
        return bean;
    }

}
